<?php
namespace App\Models\Entity\wxbox;

use Swoft\Db\Model;
use Swoft\Db\Bean\Annotation\Column;
use Swoft\Db\Bean\Annotation\Entity;
use Swoft\Db\Bean\Annotation\Id;
use Swoft\Db\Bean\Annotation\Required;
use Swoft\Db\Bean\Annotation\Table;
use Swoft\Db\Types;

/**
 * @Entity()
 * @Table(name="wxuser")
 * @uses      Wxuser
 */
class Wxuser extends Model
{
    /**
     * @var int $id 
     * @Id()
     * @Column(name="id", type="integer")
     */
    private $id;

    /**
     * @var int $wxid 
     * @Column(name="wxid", type="integer")
     * @Required()
     */
    private $wxid;

    /**
     * @var string $openid 
     * @Column(name="openid", type="string", length=64)
     * @Required()
     */
    private $openid;

    /**
     * @var string $name 
     * @Column(name="name", type="string", length=20)
     * @Required()
     */
    private $name;

    /**
     * @var string $wechat 
     * @Column(name="wechat", type="string", length=20)
     * @Required()
     */
    private $wechat;

    /**
     * @var string $qq 
     * @Column(name="qq", type="string", length=20)
     * @Required()
     */
    private $qq;

    /**
     * @var string $birthday 
     * @Column(name="birthday", type="string", length=20)
     * @Required()
     */
    private $birthday;

    /**
     * @var string $sex 
     * @Column(name="sex", type="string", length=8, default="")
     */
    private $sex;

    /**
     * @var string $phone 
     * @Column(name="phone", type="string", length=20)
     * @Required()
     */
    private $phone;

    /**
     * @var int $status 0未验证1已验证2禁用
     * @Column(name="status", type="integer", default=0)
     */
    private $status;

    /**
     * @var string $email 
     * @Column(name="email", type="string", length=60)
     * @Required()
     */
    private $email;

    /**
     * @var int $updateTime 
     * @Column(name="update_time", type="integer", default=0)
     */
    private $updateTime;

    /**
     * @var int $addTime 
     * @Column(name="add_time", type="integer", default=0)
     */
    private $addTime;

    /**
     * @var int $power 是否有权限
     * @Column(name="power", type="smallint", default=0)
     */
    private $power;

    /**
     * @param int $value
     * @return $this
     */
    public function setId(int $value)
    {
        $this->id = $value;

        return $this;
    }

    /**
     * @param int $value
     * @return $this
     */
    public function setWxid(int $value): self
    {
        $this->wxid = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setOpenid(string $value): self
    {
        $this->openid = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setName(string $value): self
    {
        $this->name = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setWechat(string $value): self
    {
        $this->wechat = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setQq(string $value): self
    {
        $this->qq = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setBirthday(string $value): self
    {
        $this->birthday = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setSex(string $value): self
    {
        $this->sex = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setPhone(string $value): self
    {
        $this->phone = $value;

        return $this;
    }

    /**
     * 0未验证1已验证2禁用
     * @param int $value
     * @return $this
     */
    public function setStatus(int $value): self
    {
        $this->status = $value;

        return $this;
    }

    /**
     * @param string $value
     * @return $this
     */
    public function setEmail(string $value): self
    {
        $this->email = $value;

        return $this;
    }

    /**
     * @param int $value
     * @return $this
     */
    public function setUpdateTime(int $value): self
    {
        $this->updateTime = $value;

        return $this;
    }

    /**
     * @param int $value
     * @return $this
     */
    public function setAddTime(int $value): self
    {
        $this->addTime = $value;

        return $this;
    }

    /**
     * 是否有权限
     * @param int $value
     * @return $this
     */
    public function setPower(int $value): self
    {
        $this->power = $value;

        return $this;
    }

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @return int
     */
    public function getWxid()
    {
        return $this->wxid;
    }

    /**
     * @return string
     */
    public function getOpenid()
    {
        return $this->openid;
    }

    /**
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * @return string
     */
    public function getWechat()
    {
        return $this->wechat;
    }

    /**
     * @return string
     */
    public function getQq()
    {
        return $this->qq;
    }

    /**
     * @return string
     */
    public function getBirthday()
    {
        return $this->birthday;
    }

    /**
     * @return string
     */
    public function getSex()
    {
        return $this->sex;
    }

    /**
     * @return string
     */
    public function getPhone()
    {
        return $this->phone;
    }

    /**
     * 0未验证1已验证2禁用
     * @return int
     */
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * @return int
     */
    public function getUpdateTime()
    {
        return $this->updateTime;
    }

    /**
     * @return int
     */
    public function getAddTime()
    {
        return $this->addTime;
    }

    /**
     * 是否有权限
     * @return int
     */
    public function getPower()
    {
        return $this->power;
    }

}
